MX COBOL Version 3.0 - EN, Copyright (c) Vlastimil Cevela 1996, 2006 (20060528) D:\CeW\cobol\p\mx_x2.cb WHEN-COMPILED = 03/06/06 20:16:13 Registered user: 060529 Name, City, Country 0001 file-control. 0002 select SB-1 assign JM-1 organization line sequential file status ST. 0003 select SB-2 assign JM-2 organization line sequential. 0004 select SB-3 assign JM-3 organization line sequential file status ST. 0005 select SB-4 assign JM-4 organization line sequential. 0006 file section. 0007 fd SB-1. 0008 1 VT-1 pic x(800). 0009 fd SB-2. 0010 1 VT-2 pic x(800). 0011 fd SB-3. 0012 1 VT-3 pic x(800). 0013 fd SB-4. 0014 1 VT-4 pic x(800). 0015 0016 working-storage section. 0017 1 JM-1 pic x(120). 0018 1 JM-2 pic x(120) value " ". 0019 1 JM-3 pic x(120). 0020 1 JM-4 pic x(120). 0021 1 ST pic xx. 0022 1 K-1 pic 9 value 0. 0023 1 K-3 pic 9. 0024 1 Z-1 pic 9 value 0. 0025 1 Z-3 pic 9. 0026 1 POC-2 pic 9(6) value 0. 0027 1 POC-Z pic z(5)9. 0028 1 KOD pic x. 0029 1 WT-2 pic x(800). 0030 1 WR redefines WT-2. 0031 2 Z pic x occurs 800. 0032 1 WT-3 pic x(800). 0033 1 WT-U pic x(800). 0034 1 F. 0035 2 F1 pic x. 0036 2 F2 pic x(50). 0037 1 V pic 9 value 0. 0038 0039 1 B. 0040 2 B1 pic x(20). 0041 2 B2 pic xxx. 0042 2 B3 pic 999. 0043 2 B4 pic 999. 0044 1 BU pic x(80) value " ". 0045 1 B0 pic 9 value 0. 0046 1 BL pic 999. 0047 1 BM pic 999. 0048 1 BW. 0049 2 BW1 pic x. 0050 2 BW2 pic x(79). 0051 1 BX pic 999. 0052 1 BZ pic x(80). 0053 1 CUTW. 0054 2 CUT4 pic xxxx. 0055 2 CUTK pic 9. 0056 1 CUT pic 9 value 0. 0057 0058 1 R. 0059 2 R1 pic x. 0060 2 R2 pic x. 0061 2 R3 pic x. 0062 1 RR. 0063 2 RR1 pic x. 0064 2 RR2 pic x. 0065 2 RR3 pic x. 0066 0067 1 P1 pic 9 value 1. 0068 1 P3 pic 9 value 1. 0069 1 Q pic 9 value 0. 0070 1 Y pic 9 value 0. 0071 1 A. 0072 2 A1 pic x. 0073 2 A2 pic x. 0074 2 A3 pic x. 0075 2 A4 pic x(10). 0076 1 AW pic x value " ". 0077 1 E pic 9. 0078 1 W1 pic x(255). 0079 1 W2 pic x(255). 0080 1 W3 pic x(255). 0081 1 DW1 pic 999. 0082 1 DW2 pic 999. 0083 1 DW3 pic 999. 0084 1 DM1 pic x(10). 0085 1 DM2 pic x(10). 0086 1 DM3 pic x(10). 0087 1 TW pic 99. 0088 1 DU1 pic 99. 0089 1 DU2 pic 99. 0090 1 BR pic xxxx. 0091 1 H1 pic 9 value 0. 0092 0093 1 DAT pic 9(6). 0094 1 DAR redefines DAT. 0095 2 DR1 pic x. 0096 2 DR2 pic 9(5). 0097 1 TIM pic 9(8). 0098 0099 1 JM3 pic x(30). 0100 1 JM31 pic x(30). 0101 1 JM32 pic x(30). 0102 1 JMX pic x(10). 0103 1 DLX pic 999. 0104 1 PL3 pic 9. 0105 1 WX pic 9 value 0. 0106 0107 1 PAR. 0108 2 pic x(255). 0109 1 POC pic 9999 comp. 0110 1 CMD pic x(120). 0111 1 HTM. 0112 2 TG pic 99. 0113 2 OD pic xx redefines TG. 0114 2 TU pic 99. 0115 2 TAG occurs 55. 0116 3 TG1 pic x(80). 0117 3 TG2 pic x(80). 0118 3 DL1 pic 99. 0119 3 DL2 pic 99. 0120 1 HTP. 0121 2 T pic 99. 0122 2 TT pic xx redefines T. 0123 2 T1 pic x(80). 0124 2 D1 pic 99. 0125 2 T2 pic x(80). 0126 2 D2 pic 99. 0127 1 TXT pic x(50). 0128 1 POM pic x(50) value "....*....1....*....2....*....3....*....4....*....5". 0129 0130 1 DY1 pic 999. 0131 1 DY2 pic 999. 0132 0133 1 TGE pic 99. 0134 0135 1 DV. 0136 2 DV1 pic x. 0137 2 DV2 pic x. 0138 0139 1 VTW pic x(800). 0140 0141 0142 procedure division. 0143 UFD '#include ' #0a#. 0144 UFO ' ' *POC ' ' '= argc;'. | 0109 0145 move space to PAR. | 0107 0146 UFO 'strcpy(' PAR ',argv[1]);'. | 0107 0147 0148 0149 move PAR to JM-1 JM-2. | 0107 0017 0018 0150 inspect JM-2 replacing | 0018 0151 all " " by #00# 0152 all ".txt" by ".htm" 0153 all ".TXT" by ".htm". 0154 0155 perform PARAM-5X. 0156 0157 0158 open input SB-1. | 0007 0159 0160 perform CTI-1 until K-1 = 1. | 0022 0161 if F2 not = "all" and Z-1 = 1 | 0036 0024 0162 move " " to A 0163 move "{55 Date {52 - " to VT-2 perform ZAPIS-D | 0071 0010 0164 perform VYBRANO 0165# move "Time 52} 55}" to VT-2 perform ZAPIS-D. | 0010 0166 0167 close SB-1. | 0007 0168 if Z-1 = 1 | 0024 0169# close SB-2. | 0009 0170 * call 'ICRUN' using "del *.tmp". ************* 0.65 0171 stop run. 0172 0173 CTI-1. 0174 read SB-1 into CUTW | 0007 0175 end | 0053 0176# move 1 to K-1. | 0022 0177 if K-1 not = 1 | 0022 0178 if Z-1 = 0 | 0024 0179 move 1 to Z-1 0180 end-if | 0024 0181 move VT-1 to R | 0008 0182# perform FILTR-K1. | 0058 0183 0184 0185 0186 FILTR-K1. 0187 if R = "/*/" or R1 = "*" | 0058 0059 0188 next else 0189 if R = "/* " | 0058 0190 move 0 to P1 else | 0067 0191 if R = "*/ " | 0058 0192 move 1 to P1 else | 0067 0193 if P1 = 1 | 0067 0194# perform FILTR-OUT. 0195 0196 HELP. 0197 display "-----------------------------------------------------------". 0198 display "input = file.txt, standard output = file.htm". 0199 display "control characters from 1st column:". 0200 display " +help". 0201 display " +all [file-out] (without end-copyright message)". 0202 display " +dir file-out = directory content (+80 of 1st lines), +cut0-4(0,+,-,.,txt-htm)". 0203 display " +[xyz...] [file-out or (// [text])] (// special selection)". 0204 display " $ file-par". 0205 display " 1-49 $$HTML-1$$HTML-2$$". 0206 display " < file = open output, << file = open extend (file.tmp = temporary)". 0207 display " . file-inp [1-50*=HTML/char=cut [./text]] (*only with < or <<)". 0208 display " . file-inp + file-before file-after". 0209 display " !!command!! = on-line windows command". 0210 display " : and space =

(not as last line!), : =
, - and space = line". 0211 display " [:]http: mailto: file: c:/C:-g:/G: ./ ../ [*[link-text]*comment]". 0212 display " *, /*/, /* ... */ = comments". 0213 display " /x [1-50] ... x/ [1-50], /x/ = selected text". 0214 display " = or # and text ... ". 0215 display " first = head of page, =stand/#without style, other = head of paragraph)". 0216 display "HTML formal params:". 0217 display " {1-49 ... 1-49} = HTML tags". 0218 display " {50 = css pro '='". 0219 display " {52 = yyyy-mm-dd, 52} = hh:mm:ss". 0220 display " {53 = output counter". 0221 display " {54,55} = začátek a konec". 0222 stop " ". 0223 move 1 to K-1. | 0022 0224 0225 FILTR-OUT. 0226 if VT-1 = "+help" | 0008 0227 perform HELP else 0228 if VT-1 = "+cut=" | 0008 0229 move 5 to CUT else | 0056 0230 if CUT4 = "+cut" | 0054 0231 move CUTK to CUT else | 0055 0056 0232 if (R1 = "<" and R2 = " ") | 0059 0060 0233 or (R = "<< ") | 0058 0234 if Q = 1 | 0069 0235 close SB-4 0236 end-if | 0013 0237 unstring VT-1 delimited all " " into JM-4 JM-4 | 0008 0020 0238 if R2 = " " | 0020 0060 0239 open output SB-4 0240 else | 0013 0241 open extend SB-4 0242 end-if | 0013 0243 move 1 to Q else | 0069 0244 if R1 = ">" and R2 = " " | 0059 0060 0245 close SB-4 0246 move 0 to Q | 0013 0247 else | 0069 0248# perform FILTR-INP. 0249 0250 FILTR-INP. 0251 if (R1 = "$" or ".") and (R2 = " ") | 0059 0060 0252 initialize TG JM3 JM31 JM32 | 0112 0099 0100 0253 unstring VT-1 delimited all " " into JM-3 JM-3 TG JM3 JM32 | 0101 0008 0019 0019 0112 0099 0254 perform VYSTUP-3 else | 0101 0255 if Q = 1 | 0069 0256 write VT-4 from VT-1 else | 0014 0008 0257 if R1 = "!" and R2 = "!" | 0059 0060 0258 unstring VT-1 delimited "!!" | 0008 0259 into CMD CMD | 0110 0260 call 'ICRUN' using CMD | 0110 0261 else | 0110 0262 move VT-1 to WT-2 | 0008 0263# perform VYSTUP. | 0029 0264 0265 VYSTUP-3. 0266 if OD = "0+" | 0113 0267 move JM3 to JM31 | 0099 0268 move JM-3 to JM3 | 0100 0019 0269 move JM31 to JM-3 | 0099 0100 0270 perform CTENI-3 | 0019 0271 move JM3 to JM-3 | 0099 0272 perform CTENI-3 | 0019 0273 move JM32 to JM-3 | 0101 0274 perform CTENI-3 | 0019 0275 else 0276# perform CTENI-3. 0277 0278 CTENI-3. 0279 inspect JM-3 replacing all " " by #00#. | 0019 0280 open input SB-3. | 0011 0281 if ST not = "00" | 0021 0282 move " " to VT-2 0283 string | 0010 0284 "????????????????????????????????? " JM-3 " ?????" delimited size | 0019 0285 into VT-2 0286 write VT-2 | 0010 0287 close SB-2 | 0010 0288# stop run. | 0009 0289 0290 perform PIS-TG1. 0291 move 0 to K-3 PL3 Z-3. | 0023 0104 0025 0292 move 1 to P3. | 0068 0293 perform CTI-3 until K-3 = 1. | 0023 0294 perform PIS-TG2. 0295 close SB-3. | 0011 0296 0297 PIS-JM3. 0298 move " " to WT-3. | 0032 0299 if JM3 not = " " | 0099 0300 if JM3 = "." | 0099 0301 string 0302 ".+" 0303 JM-3 delimited #00# | 0019 0304 into WT-3 0305 else | 0032 0306 string 0307 ".+" 0308 JM3 delimited " " | 0099 0309 into WT-3 0310 end-if | 0032 0311# perform PIS-3. 0312 0313 PIS-TG1. 0314 if TG > 0 and TG numeric | 0112 0112 0315 move TG1(TG) to WT-3 | 0116 0112 0316 move TG to TU | 0032 0112 0317# perform PIS-3. | 0114 0318 PIS-TG2. 0319 if TU > 0 and TG > 0 | 0114 0112 0320 perform PIS-JM3 0321 move TG2(TU) to WT-3 | 0117 0114 0322# perform PIS-3. | 0032 0323 0324 CTI-3. 0325 read SB-3 into WT-3 | 0011 0326 end | 0032 0327# move 1 to K-3. | 0023 0328 0329 if K-3 not = 1 | 0023 0330 if CUT = 5 and Z-3 = 0 | 0056 0025 0331 move 1 to Z-3 0332 move VT-3 to TXT display TXT stop " " | 0025 0012 0127 0127 0333 else 0334# perform FILTR-K3. 0335 0336 FILTR-K3. 0337 move VT-3 to RR. | 0012 0062 0338 if VT-3 = "&#" | 0012 0339 if CUT = 7 | 0056 0340 move 1 to K-3 0341 end-if else | 0023 0342 if F2 = "all" | 0036 0343 perform PIS-3 else 0344 if RR = "/*/" or RR1 = "*" | 0062 0063 0345 next else 0346 if RR = "/* " | 0062 0347 move 0 to P3 else | 0068 0348 if RR = "*/ " | 0062 0349 move 1 to P3 else | 0068 0350 if P3 = 1 | 0068 0351# perform PIS-3. 0352 0353 PIS-3. 0354 if CUT = 2 | 0056 0355 move " " to WT-3 0356 string | 0032 0357 VT-3 pointer 81 delimited "*~*" | 0012 0358 "*~*" delimited size 0359 into WT-3 0360 perform DALE-WT-3 | 0032 0361 inspect VT-3 replacing | 0012 0362 all ".txt" by ".htm" 0363 string VT-3 pointer 81 into WT-3 else | 0012 0032 0364 0365 if CUT = 6 | 0056 0366 string VT-3 pointer 81 into WT-3 else | 0012 0032 0367 0368 if CUT = 3 or 4 | 0056 0369 move " " to WT-3 0370 string VT-3 pointer 81 into VT-2 | 0032 0012 0371 if VT-2 not = " " | 0010 0010 0372 string 0373 ". " delimited size 0374 VT-2 delimited "*" | 0010 0375 into WT-3 0376 if CUT = 4 | 0032 0056 0377 move WT-3 to WT-U | 0032 0378 move " " to WT-3 | 0033 0379 string | 0032 0380 "c:\cev-sw\txb.exe " delimited size 0381 WT-U pointer 3 delimited ".txt" | 0033 0382 ".txt " delimited size 0383# into WT-3. | 0032 0384 0385 perform DALE-WT-3. 0386 0387 DALE-WT-3. 0388 if TG not numeric and TG not = "*" | 0112 0112 0389 inspect OD replacing all "0" by " " | 0113 0390# unstring VT-3 delimited OD into WT-3. | 0012 0113 0032 0391 0392 0393 if Q = 1 | 0069 0394 write VT-4 from WT-3 else | 0014 0032 0395 if R1 = "$" and VT-3 not = " " | 0059 0012 0396 perform TAGY-HTM 0397 else 0398 move WT-3 to WT-2 | 0032 0399# perform VYSTUP. | 0029 0400 0401 TAGY-HTM. 0402 unstring VT-3 delimited all " " into T. | 0012 0121 0403 if T not numeric or > 50 | 0121 0404# exhibit named TT stop "???" stop run. | 0122 0405 unstring VT-3 delimited all "$$" into | 0012 0406 T1 T1 count D1 | 0123 0123 0407 T2 count D2. | 0124 0125 0126 0408 initialize TAG(T). | 0115 0121 0409 * compute DL1(T) = D1 + 1. ****** zdá se, že jsou delší !!! ***** 0.65 0410 * compute DL2(T) = D2 + 1. 0411 compute DL1(T) = D1. | 0118 0121 0124 0412 compute DL2(T) = D2. | 0119 0121 0126 0413 move T1 to TG1(T). | 0123 0116 0121 0414 move T2 to TG2(T). | 0125 0117 0121 0415 0416 0417 0418 VYSTUP. 0419 move WT-2 to A. | 0029 0071 0420 if A1 = "+" | 0072 0421 move " " to F W1 JMX | 0034 0078 0422 unstring WT-2 delimited all " " | 0102 0029 0423 into F W1 JMX | 0034 0078 0424 move 0 to WX | 0102 0425 if W1 = "//" | 0105 0078 0426 move 1 to WX 0427 move " " to W1 | 0105 0428 end-if | 0078 0429 if W1 not = " " | 0078 0430 if Y = 1 | 0070 0431 close SB-2 0432 move 0 to Y | 0009 0433 end-if | 0070 0434 move W1 to JM-2 | 0078 0435# inspect JM-2 replacing all " " by #00#. | 0018 0018 0436 0437 0438 if Y = 0 | 0070 0439 move 1 to Y 0440# open output SB-2. | 0070 0009 0441 0442 move " " to VT-2. | 0010 0443 0444 if R1 = "+" | 0059 0445 next else 0446 if F2 = "all" | 0036 0447 move WT-2 to VT-2 | 0029 0448 perform ZAPIS-A else | 0010 0449 if F2 = "dir" | 0036 0450 perform DIR else 0451 if A1 = "/" and A2 not = " " and A3 not = "/" | 0072 0073 0074 0452 move A2 to AW | 0073 0453 move 0 to V | 0076 0454 inspect F2 tallying V = all AW | 0037 0036 0037 0455 if V = 1 | 0076 0037 0456 string " " into WT-2 pointer 1 length 2 | 0029 0457 perform TAG-1C 0458 move 1 to PL3 0459 end-if else | 0104 0460 if (A1 not = " " and "<" and ".") and (A2 = "/") | 0072 0073 0461 string " " into WT-2 pointer 1 length 2 | 0029 0462 perform TAG-2C 0463 move " " to AW 0464 move 0 to V else | 0076 0037 0465 if A1 = "/" and A2 not = " " and A3 = "/" | 0072 0073 0074 0466 move A2 to AW | 0073 0467 move 0 to V | 0076 0468 inspect F2 tallying V = all AW | 0037 0036 0037 0469 if V = 1 | 0076 0037 0470 if WX = 0 | 0105 0471 string " " into WT-2 pointer 1 length 3 | 0029 0472 end-if 0473 if WX = 1 and JMX not = " " | 0105 0102 0474 perform ZDROJ 0475 end-if 0476 move 0 to V 0477 perform VYBRANO | 0037 0478 move 1 to PL3 0479 end-if | 0104 0480 move " " to AW else | 0076 0481 if V = 0 and WT-2 = " " | 0037 0029 0482 next else 0483 if A1 = "." and A2 = "+" | 0072 0073 0484 perform DODATEK else 0485 if AW = " " or V = 1 | 0076 0037 0486# perform VYBRANO. 0487 0488 DIR. 0489 transform WT-2 0490 from "ABCDEFGHIJKLMNOPQRSTUVWXYZ\" | 0029 0491 to "abcdefghijklmnopqrstuvwxyz/". 0492 0493 initialize B. | 0039 0494 unstring WT-2 delimited all " " | 0029 0495 into B1 B2. | 0040 0041 0496 inspect WT-2 tallying B3 = all "<" all ": ". | 0029 0042 0497 inspect WT-2 tallying B4 = all ":/". | 0029 0043 0498 0499 0500 0501 if B4 = 1 | 0043 0502 inspect WT-2 tallying B3 = characters before initial ":/" | 0029 0042 0503 move " " to BU 0504 string WT-2 pointer B3 into BU | 0044 0029 0042 0505 if B0 = 0 | 0044 0045 0506 move 1 to B0 0507 inspect BU tallying BL = characters before terminal "/" | 0045 0044 0046 0508 compute BM = BL + 2 | 0047 0046 0509 end-if else 0510 if B1 not = " " and B3 not > 0 | 0040 0042 0511 move " " to VT-2 JM-4 | 0010 0512 string | 0020 0513 "./" delimited size 0514 BU pointer BM delimited " " | 0044 0047 0515 "/" delimited size 0516 B1 delimited " " | 0040 0517 "." delimited size 0518 B2 delimited " " | 0041 0519 into JM-4 0520 0521 open input SB-4 | 0020 0522 read SB-4 into BW | 0013 0013 0523 close SB-4 | 0048 0524 0525 perform STRING-BW | 0013 0526# perform ZAPIS-A. 0527 0528 STRING-BW. 0529 if BW1 = "=" or "*" | 0049 0530# move " " to BW1. | 0049 0531 inspect BW tallying BX = ending " ". | 0048 0051 0532 compute BX = 80 - BX + 1. | 0051 0051 0533 string "," into BW pointer BX. | 0048 0051 0534 0535 move " " to BZ. | 0052 0536 string 0537 BU pointer BM delimited " " | 0044 0047 0538 "@" delimited size 0539 B1 delimited " " | 0040 0540 into BZ. | 0052 0541 inspect BZ replacing all "/" by "@". | 0052 0542 0543 move " " to VT-2. | 0010 0544 if CUT = 1 | 0056 0545 string 0546 BW delimited size | 0048 0547 JM-4 delimited " " | 0020 0548 " *~* " delimited size 0549 BW 0550 into VT-2 else | 0048 0010 0551 if CUT = 0 | 0056 0552 string 0553 JM-4 delimited " " | 0020 0554 " *~* " delimited size 0555 BW 0556# into VT-2. | 0048 0010 0557 0558 inspect VT-2 replacing all "@" by " ". | 0010 0559 0560 ZDROJ. 0561 inspect WT-2 tallying DLX = ending " ". | 0029 0103 0562 compute DLX = 800 - DLX + 1. | 0103 0103 0563 string " ~ " JMX 0564 into WT-2 pointer DLX. | 0102 0029 0103 0565 0566 DODATEK. 0567 if PL3 = 1 | 0104 0568 move 0 to PL3 0569 unstring WT-2 delimited ".+" into JM3 JM3 | 0104 0029 0099 0570 move " " to WT-2 | 0099 0571 string JM3 into WT-2 pointer 60 | 0029 0099 0029 0572# perform VYBRANO. 0573 TAG-1C. 0574 unstring WT-2 delimited all " " into DU1 DU1. | 0029 0088 0088 0575 if DU1 > 0 | 0088 0576 move TG1(DU1) to VT-2 | 0116 0088 0577# perform ZAPIS-A. | 0010 0578 TAG-2C. 0579 unstring WT-2 delimited all " " into DU2 DU2. | 0029 0089 0089 0580 if DU2 > 0 | 0089 0581 move TG2(DU2) to VT-2 | 0117 0089 0582# perform ZAPIS-A. | 0010 0583 0584 VYBRANO. 0585 move " " to BR. | 0090 0586 if A1 = ":" and WT-2 not = ":" | 0072 0029 0587 move "
" to BR 0588 string | 0090 0589 WT-2 pointer 2 into VT-2 | 0029 0590# move VT-2 to WT-2. | 0010 0010 0029 0591 0592 move " " to W1 W2 W3 DM1 DM2 DM3. | 0078 0079 0080 0084 0085 0086 0593 unstring WT-2 delimited | 0029 0594 "http:" or "mailto:" or "file:" or "./" 0595 or "c:" or "C:" or "d:" or "D:" or "e:" or "E:" or "f:" or "F:" or "g:" or "G:" 0596 into W1 delimiter DM1 count DW1. | 0078 0084 0081 0597 0598 if (DW1 = 0) or (DW1 = 1 and DM1 = "./") | 0081 0081 0084 0599 unstring WT-2 delimited "*" | 0029 0600 into 0601 W1 delimiter DM1 count DW1 | 0078 0084 0602 W2 delimiter DM2 count DW2 | 0081 0079 0085 0603 W3 delimiter DM3 count DW3 | 0082 0080 0086 0604 if DW1 = 800 and W1 not = " " and W2 = " " | 0083 0081 0078 0079 0605 perform varying DW1 from 800 by -1 until Z(DW1) not = " " | 0081 0031 0081 0606 end-perform 0607 end-if 0608 if W3 not = " " | 0080 0609 move W3 to WT-2 | 0080 0610 perform varying DW3 from 800 by -1 until Z(DW3) not = " " | 0029 0083 0031 0083 0611 end-perform 0612 end-if 0613 if W2 = " " | 0079 0614 move DW1 to DW2 | 0081 0615 move W1 to W2 | 0082 0078 0616 end-if | 0079 0617 move " " to VT-2 0618 string | 0010 0619 BR delimited size | 0090 0620 TG1(51) delimited "%%" | 0116 0621 W1 pointer 1 length DW1 | 0078 0622 '">' delimited size | 0081 0623 W2 pointer 1 length DW2 | 0079 0624 TG2(51) pointer 1 length DL2(51) | 0082 0117 0119 0625 W3 pointer 1 length DW3 | 0080 0626 into VT-2 pointer 1 | 0083 0010 0627 perform ZAPIS-A else 0628 0629 if WT-2 = ":" | 0029 0630 move "

" to VT-2 0631 perform ZAPIS-D else | 0010 0632 if WT-2 = "-" | 0029 0633 move "


" to VT-2 0634 perform ZAPIS-D else | 0010 0635 if BR = "
" | 0090 0636 string BR WT-2 into VT-2 | 0090 0029 0637 perform ZAPIS-D else | 0010 0638 0639 if A1 = "=" or "#" | 0072 0640 perform STYLY 0641 0642 else 0643 move WT-2 to VT-2 | 0029 0644# perform ZAPIS-D. | 0010 0645 0646 STYLY. 0647 if (A1 = "=" or "#") and (H1 = 0) | 0072 0091 0648 move 1 to H1 0649 0650 if A1 = "=" | 0091 0072 0651 move '" 0655 to VT-2 perform ZAPIS-A | 0010 0656 end-if 0657 0658 move "
" to VT-2 perform ZAPIS-D | 0010 0659 string WT-2 pointer 2 into VT-2 perform ZAPIS-D | 0029 0010 0660 move "" to VT-2 perform ZAPIS-D else | 0010 0661 0662 if A1 = "=" and H1 = 1 | 0072 0091 0663 move "
" to VT-2 perform ZAPIS-D | 0010 0664 string WT-2 pointer 2 into VT-2 perform ZAPIS-D | 0029 0010 0665# move "
" to VT-2 perform ZAPIS-D. | 0010 0666 0667 0668 ZAPIS-A. 0669 perform POCET. 0670 write VT-2. | 0010 0671 POCET. 0672 add 1 to POC-2. | 0026 0673 move POC-2 to POC-Z. | 0026 0027 0674 move POC-Z to TG1(53). | 0027 0116 0675 move 6 to DL1(53). | 0118 0676 0677 PARAM-5X. 0678 move '' to TG1(51) move 13 to DL1(51). | 0116 0118 0679 move '' to TG2(51) move 4 to DL2(51). | 0117 0119 0680 0681 accept DAT from date. | 0093 0682 if DR1 = ":" move "0" to DR1 else | 0095 0095 0683 if DR1 = ";" move "1" to DR1 else | 0095 0095 0684 if DR1 = "<" move "2" to DR1 else | 0095 0095 0685 if DR1 = "=" move "3" to DR1 else | 0095 0095 0686# if DR1 = ">" move "4" to DR1. | 0095 0095 0687 string 0688 "20" delimited size 0689 DAT pointer 1 length 2 "-" | 0093 0690 DAT pointer 3 length 2 "-" | 0093 0691 DAT pointer 5 length 2 | 0093 0692 into TG1(52) pointer 1 length 10. | 0116 0693 move 10 to DL1(52). | 0118 0694 0695 accept TIM from time. | 0097 0696 string 0697 TIM pointer 1 length 2 ":" | 0097 0698 TIM pointer 3 length 2 ":" | 0097 0699 TIM pointer 5 length 2 | 0097 0700 into TG2(52) pointer 1 length 8. | 0117 0701 move 8 to DL2(52). | 0119 0702 0703 move "

" 0704 to TG1(55) move 61 to DL1(55). | 0116 0118 0705 move "
" 0706 to TG2(55) move 17 to DL2(55). | 0117 0119 0707 0708 0709 ZAPIS-D. 0710 move 1 to TGE. | 0133 0711 perform TAGY until TGE = 0. | 0133 0712 perform POCET. 0713 write VT-2. | 0010 0714 0715 copy "tagy.txt". 0716 TAGY. 0717 move 0 to TGE. | 0133 0718 0719 move 0 to DW1. | 0081 0720 inspect VT-2 tallying DW1 = characters before "{". | 0010 0081 0721 0722 if DW1 not = 800 | 0081 0723 add 2 to DW1 0724 initialize DV DU1 | 0081 0135 0725 string VT-2 pointer DW1 length 2 into DV pointer 1 | 0088 0010 0081 0135 0726 if DV1 numeric | 0136 0727 if DV2 not numeric | 0137 0728 unstring DV1 delimited " " into DU1 | 0136 0729 end-if | 0088 0730 if DV2 numeric | 0137 0731 string VT-2 pointer DW1 length 2 into DV pointer 1 | 0010 0081 0135 0732 unstring DV delimited " " into DU1 | 0135 0733 end-if | 0088 0734 perform DELENI1 0735# move 1 to TGE. | 0133 0736 0737 0738 move 0 to DW2. | 0082 0739 inspect VT-2 tallying DW2 = characters before "}". | 0010 0082 0740 0741 if (DW2 not = 800 ) and (DW2 > 0) | 0082 0082 0742 initialize DV DU2 | 0135 0743 if DW2 = 1 | 0089 0082 0744 string VT-2 pointer 1 length 1 into DV pointer 1 | 0010 0135 0745 else 0746 subtract 1 from DW2 0747 string VT-2 pointer DW2 length 2 into DV pointer 1 | 0082 0010 0082 0135 0748 end-if 0749 * exhibit named DV 0750 0751 if (DV1 = "{" or "}") | 0136 0752 or (DV2 = "{" or "}") | 0137 0753 next 0754 else 0755 if DV numeric | 0135 0756 unstring DV delimited " " into DU2 | 0135 0757 end-if | 0089 0758 if DV1 numeric and DV2 not numeric | 0136 0137 0759 unstring DV1 delimited " " into DU2 | 0136 0760 end-if | 0089 0761 if DV1 not numeric and DV2 numeric | 0136 0137 0762 unstring DV2 delimited " " into DU2 | 0137 0763 end-if | 0089 0764 if DU2 not = 0 | 0089 0765 perform DELENI2 0766# move 1 to TGE. | 0133 0767 0768 0769 DELENI1. 0770 * exhibit named 1 DW1 DU1. 0771 0772 if DW1 > 3 | 0081 0773 subtract 2 from DW1 else | 0081 0774 if DW1 = 3 | 0081 0775 move 1 to DW1 0776 else | 0081 0777# move 0 to DW1. | 0081 0778 0779 if DU1 < 10 | 0088 0780 compute DY1 = DW1 + 3 | 0130 0081 0781 else 0782# compute DY1 = DW1 + 4. | 0130 0081 0783 0784 move " " to VTW. | 0139 0785 string 0786 VT-2 pointer 1 length DW1 | 0010 0787 TG1(DU1) pointer 1 length DL1(DU1) | 0081 0116 0088 0118 0088 0788 VT-2 pointer DY1 length 800 | 0010 0130 0789 into VTW. | 0139 0790 0791 move VTW to VT-2 TXT. | 0139 0010 0127 0792 * exhibit named DW1 DY1. 0793 * exhibit named TXT. 0794 * exhibit " ". 0795 0796 0797 DELENI2. 0798 * exhibit named DW2 DU2. 0799 0800 if (DW2 = 1 and DU2 < 10) | 0082 0089 0801 or (DU2 not < 10) | 0089 0802# subtract 1 from DW2. | 0082 0803 0804 if DU2 < 10 | 0089 0805 compute DY2 = DW2 + 3 | 0131 0082 0806 else 0807# compute DY2 = DW2 + 4. | 0131 0082 0808 0809 0810 0811 move " " to VTW. | 0139 0812 string 0813 VT-2 pointer 1 length DW2 | 0010 0814 TG2(DU2) pointer 1 length DL2(DU2) | 0082 0117 0089 0119 0089 0815 VT-2 pointer DY2 length 800 | 0010 0131 0816 into VTW. | 0139 0817 0818 move VTW to VT-2 TXT. | 0139 0010 0127 0819 * exhibit named DW2 DY2. 0820 * exhibit named TXT. 0821 * exhibit " ". 0822 * ------------------------------------------------------------------ 0823 0824 DATA DIRECTORY: LV NAME OF ITEM ADDR TP LENG LINE REFERENCE FD SB-1 0007 0158 0167 0174 01 VT-1 0 AN 800 0008 0181 0226 0228 0237 0253 0256 0258 0262 FD SB-2 0009 0169 0287 0431 0440 01 VT-2 0 AN 800 0010 0163 0165 0282 0285 0286 0370 0371 0374 0442 0447 0511 0543 0550 0556 0558 0576 0581 0589 0590 0617 0626 0630 0633 0636 0643 0651 0653 0655 0658 0659 0660 0663 0664 0665 0670 0713 0720 0725 0731 0739 0744 0747 0786 0788 0791 0813 0815 0818 FD SB-3 0011 0280 0295 0325 01 VT-3 0 AN 800 0012 0332 0337 0338 0357 0361 0363 0366 0370 0390 0395 0402 0405 FD SB-4 0013 0235 0239 0241 0245 0521 0522 0523 01 VT-4 0 AN 800 0014 0256 0394 01 JM-1 0 AN 120 0017 0142 0149 01 JM-2 120 AN 120 0018 0142 0149 0150 0434 0435 01 JM-3 240 AN 120 0019 0142 0253 0253 0268 0269 0271 0273 0279 0284 0303 01 JM-4 360 AN 120 0020 0142 0237 0237 0511 0519 0547 0553 01 ST 480 AN 2 0021 0142 0142 0281 01 K-1 488 DI 1 0022 0160 0176 0177 0223 01 K-3 496 DI 1 0023 0291 0293 0327 0329 0340 01 Z-1 504 DI 1 0024 0161 0168 0178 0179 01 Z-3 512 DI 1 0025 0291 0330 0331 01 POC-2 520 DI 6 0026 0672 0673 01 POC-Z 528 NE 6 0027 0673 0674 01 KOD 536 AN 1 0028 01 WT-2 544 AN 800 0029 0030 0262 0398 0419 0422 0447 0456 0461 0471 0481 0489 0494 0496 0497 0502 0504 0561 0564 0569 0570 0571 0574 0579 0586 0589 0590 0593 0599 0609 0629 0632 0636 0643 0659 0664 01 WR 544 GR 800 0030 02 Z 544 AN 1 0031 0605 0610 01 WT-3 1344 AN 800 0032 0298 0304 0309 0315 0321 0325 0355 0359 0363 0366 0369 0375 0377 0378 0383 0390 0394 0398 01 WT-U 2144 AN 800 0033 0377 0381 01 F 2944 GR 51 0034 0421 0423 02 F1 2944 AN 1 0035 02 F2 2945 AN 50 0036 0161 0342 0446 0449 0454 0468 01 V 3000 DI 1 0037 0453 0454 0455 0464 0467 0468 0469 0476 0481 0485 01 B 3008 GR 29 0039 0493 02 B1 3008 AN 20 0040 0495 0510 0516 0539 02 B2 3028 AN 3 0041 0495 0518 02 B3 3031 DI 3 0042 0496 0502 0504 0510 02 B4 3034 DI 3 0043 0497 0501 01 BU 3040 AN 80 0044 0503 0504 0507 0514 0537 01 B0 3120 DI 1 0045 0505 0506 01 BL 3128 DI 3 0046 0507 0508 01 BM 3136 DI 3 0047 0508 0514 0537 01 BW 3144 GR 80 0048 0522 0531 0533 0546 0549 0555 02 BW1 3144 AN 1 0049 0529 0530 02 BW2 3145 AN 79 0050 01 BX 3224 DI 3 0051 0531 0532 0532 0533 01 BZ 3232 AN 80 0052 0535 0540 0541 01 CUTW 3312 GR 5 0053 0174 02 CUT4 3312 AN 4 0054 0230 02 CUTK 3316 DI 1 0055 0231 01 CUT 3320 DI 1 0056 0229 0231 0330 0339 0354 0365 0368 0376 0544 0551 01 R 3328 GR 3 0058 0181 0187 0189 0191 0233 02 R1 3328 AN 1 0059 0187 0232 0244 0251 0257 0395 0444 02 R2 3329 AN 1 0060 0232 0238 0244 0251 0257 02 R3 3330 AN 1 0061 01 RR 3336 GR 3 0062 0337 0344 0346 0348 02 RR1 3336 AN 1 0063 0344 02 RR2 3337 AN 1 0064 02 RR3 3338 AN 1 0065 01 P1 3344 DI 1 0067 0190 0192 0193 01 P3 3352 DI 1 0068 0292 0347 0349 0350 01 Q 3360 DI 1 0069 0234 0243 0246 0255 0393 01 Y 3368 DI 1 0070 0430 0432 0438 0439 01 A 3376 GR 13 0071 0162 0419 02 A1 3376 AN 1 0072 0420 0451 0460 0465 0483 0586 0639 0647 0650 0662 02 A2 3377 AN 1 0073 0451 0452 0460 0465 0466 0483 02 A3 3378 AN 1 0074 0451 0465 02 A4 3379 AN 10 0075 01 AW 3392 AN 1 0076 0452 0454 0463 0466 0468 0480 0485 01 E 3400 DI 1 0077 01 W1 3408 AN 255 0078 0421 0423 0425 0427 0429 0434 0592 0596 0601 0604 0615 0621 01 W2 3664 AN 255 0079 0592 0602 0604 0613 0615 0623 01 W3 3920 AN 255 0080 0592 0603 0608 0609 0625 01 DW1 4176 DI 3 0081 0596 0598 0598 0601 0604 0605 0605 0614 0621 0719 0720 0722 0723 0725 0731 0772 0773 0774 0775 0777 0780 0782 0786 01 DW2 4184 DI 3 0082 0602 0614 0623 0738 0739 0741 0741 0743 0746 0747 0800 0802 0805 0807 0813 01 DW3 4192 DI 3 0083 0603 0610 0610 0625 01 DM1 4200 AN 10 0084 0592 0596 0598 0601 01 DM2 4216 AN 10 0085 0592 0602 01 DM3 4232 AN 10 0086 0592 0603 01 TW 4248 DI 2 0087 01 DU1 4256 DI 2 0088 0574 0574 0575 0576 0724 0728 0732 0779 0787 0787 01 DU2 4264 DI 2 0089 0579 0579 0580 0581 0742 0756 0759 0762 0764 0800 0801 0804 0814 0814 01 BR 4272 AN 4 0090 0585 0587 0619 0635 0636 01 H1 4280 DI 1 0091 0647 0648 0662 01 DAT 4288 DI 6 0093 0094 0681 0689 0690 0691 01 DAR 4288 GR 6 0094 02 DR1 4288 AN 1 0095 0682 0682 0683 0683 0684 0684 0685 0685 0686 0686 02 DR2 4289 DI 5 0096 01 TIM 4296 DI 8 0097 0695 0697 0698 0699 01 JM3 4304 AN 30 0099 0252 0253 0267 0268 0271 0299 0300 0308 0569 0569 0571 01 JM31 4336 AN 30 0100 0252 0267 0269 01 JM32 4368 AN 30 0101 0252 0253 0273 01 JMX 4400 AN 10 0102 0421 0423 0473 0563 01 DLX 4416 DI 3 0103 0561 0562 0562 0564 01 PL3 4424 DI 1 0104 0291 0458 0478 0567 0568 01 WX 4432 DI 1 0105 0424 0426 0470 0473 01 PAR 4440 GR 255 0107 0145 0146 0149 02 FILLER 4440 AN 255 0108 01 POC 4696 BI 2 0109 0144 01 CMD 4704 AN 120 0110 0259 0259 0260 01 HTM 4824 GR 9024 0111 02 TG 4824 DI 2 0112 0113 0252 0253 0314 0314 0315 0316 0319 0388 0388 02 OD 4824 AN 2 0113 0266 0389 0390 02 TU 4826 DI 2 0114 0316 0319 0321 02 TAG 4828 GR 164 0115 0408 03 TG1 4828 AN 80 0116 0315 0413 0576 0620 0674 0678 0692 0704 0787 03 TG2 4908 AN 80 0117 0321 0414 0581 0624 0679 0700 0706 0814 03 DL1 4988 DI 2 0118 0411 0675 0678 0693 0704 0787 03 DL2 4990 DI 2 0119 0412 0624 0679 0701 0706 0814 01 HTP 13848 GR 166 0120 02 T 13848 DI 2 0121 0122 0402 0403 0408 0411 0412 0413 0414 02 TT 13848 AN 2 0122 0404 02 T1 13850 AN 80 0123 0406 0406 0413 02 D1 13930 DI 2 0124 0406 0411 02 T2 13932 AN 80 0125 0407 0414 02 D2 14012 DI 2 0126 0407 0412 01 TXT 14016 AN 50 0127 0332 0332 0791 0818 01 POM 14072 AN 50 0128 01 DY1 14128 DI 3 0130 0780 0782 0788 01 DY2 14136 DI 3 0131 0805 0807 0815 01 TGE 14144 DI 2 0133 0710 0711 0717 0735 0766 01 DV 14152 GR 2 0135 0724 0725 0731 0732 0742 0744 0747 0755 0756 02 DV1 14152 AN 1 0136 0726 0728 0751 0758 0759 0761 02 DV2 14153 AN 1 0137 0727 0730 0752 0758 0761 0762 01 VTW 14160 AN 800 0139 0784 0789 0791 0811 0816 0818 77 TALLY 14960 BI 4 0000 77 NSTD-REELS 14964 BI 2 0000 77 WHEN-COMPILED 14968 AN 16 0000 ERROR LISTING: line 0001: warning 0002 level 0 (some division/section/paragraph header before FILE-CONTROL missing - never mind) line 0006: warning 0002 level 0 (some division/section/paragraph header before FILE missing - never mind) line 0111: warning 9206 level 0 (the length of data-item HTM is very long - the LINKAGE SECTION and CALL 'ICUGETV' is recomended) line 0002: warning 9005 level 0 (it has to be hexadecimal 00 (#00#) after the last valid character in the file-name) line 0003: warning 9005 level 0 (it has to be hexadecimal 00 (#00#) after the last valid character in the file-name) line 0004: warning 9005 level 0 (it has to be hexadecimal 00 (#00#) after the last valid character in the file-name) line 0005: warning 9005 level 0 (it has to be hexadecimal 00 (#00#) after the last valid character in the file-name) Errors: 0, warnings: 7 Turbo C Version 2.01 Copyright (c) 1987, 1988 Borland International d:\cew\cobol\p\mx_x2.c: Available memory 53408Turbo C Version 2.01 Copyright (c) 1987, 1988 Borland International Turbo Link Version 2.0 Copyright (c) 1987, 1988 Borland International Available memory 413700